package com.wxzhou.wangzhuan.dto;


import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;

import java.math.BigDecimal;

/**
 * 广告上报对象
 */
public class AdReportInfo extends CommonRequestDto {

    /**
     * "action":"show",
     * "ac_time": 12334343, //精确到毫秒
     * "network": 16,//network_id，16表示GDT
     * "device_id": "",//设备唯一ID
     * "u_id": 123,//用户唯一ID
     * "adinfo": {} , // ad_info对象
     * "adid": "",//广告位ID
     * "ecpm": 2000,//int，不能为空，默认给0
     */
    //广告场景:必传，来自Sense自定义对象，一个sense绑定1个广告
    @NotNull
    private int sense;

    //广告发生时机 参考：AdBusinessAction
    @NotNull
    @Min(value = 1, message = "广告发生时机1-5")
    private Integer bs_ac;

    //ecpm，如果能取到，则取
    private Integer ecpm;

    //广告网络，不同的广告源渠道不同的网络，比如tobid,以对应官方为准，如果是gomore，则可能没有广告网络。
    private Integer ad_nt;

    //行为分组，预请求时拉取后上报
    private String ad_id_sn;

    //三方广告源的json数据
    private String adinfo;

    //上报时间
    private long reportTime;

    public AdReportInfo() {
    }

    public int getSense() {
        return sense;
    }

    public void setSense(int sense) {
        this.sense = sense;
    }

    public Integer getBs_ac() {
        return bs_ac;
    }

    public void setBs_ac(Integer bs_ac) {
        this.bs_ac = bs_ac;
    }

    public Integer getEcpm() {
        return ecpm == null ? 0 : ecpm;
    }

    public void setEcpm(Integer ecpm) {
        this.ecpm = ecpm;
    }

    public Integer getAd_nt() {
        return ad_nt;
    }

    public void setAd_nt(Integer ad_nt) {
        this.ad_nt = ad_nt;
    }

    public String getAd_id_sn() {
        return ad_id_sn;
    }

    public void setAd_id_sn(String ad_id_sn) {
        this.ad_id_sn = ad_id_sn;
    }

    public String getAdinfo() {
        return adinfo;
    }

    public void setAdinfo(String adinfo) {
        this.adinfo = adinfo;
    }

    public long getReportTime() {
        return reportTime;
    }

    public void setReportTime(long reportTime) {
        this.reportTime = reportTime;
    }
}
